body {
    margin: 0;
    padding: 0;
    height: 100vh;
    background: #c4c2c2;

    display: flex;
    justify-content: center;
    align-items: center;
}

.menu {
    position: relative;
}

input {
    margin: 0;
    padding: 0;
    position: absolute;
    top: 0;
    right: 5px;
    z-index: 5;
    appearance: none;
    display: block;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    outline: 0;
    cursor: pointer;
}


button {
    height: 40px;
    width: 40px;
    margin-right: 5px;
    padding: 0;
    display: inline-block;
    background-color: #e08e79;
    border: 0;
    border-radius: 50%;
    outline: 0;
    color: white;
    text-align: center;
    cursor: pointer;
    will-change: transform;
    transition: background-color 250ms cubic-bezier(0.41, 0.29, 0.38, 0.94), transform 250ms cubic-bezier(0.41, 0.29, 0.38, 0.94);
}

button:hover {
    background-color: #d66b50;
}

button:active {
    background-color: #c54d2e;
}

input:hover~.fa-bars {
    background-color: #d66b50;
}

input~button:nth-child(4) {
    transform: translateX(50px) rotate(60deg);
}

input~button:nth-child(3) {
    transform: translateX(100px) rotate(90deg);
}

input~button:nth-child(2) {
    transform: translateX(150px) rotate(180deg);
}

input[type="checkbox"]:checked~button {
    transform: translateX(0px);
}